home *** CD-ROM | disk | FTP | other *** search
- /*
- * this points to the structure that has all the useful functions that
- * the kernel told us about
- */
-
- #ifndef _kernel_h
- #define _kernel_h
-
- extern struct kerinfo *kernel;
-
- /* BIOS entry points */
- #define BIOS(code) (*kernel->bios_tab[code])
- #define DRVMAP() (BIOS(0x10) ())
-
- /* GEMDOS entry points */
- #define GEMDOS(code) (*kernel->dos_tab[code])
- #define CCONWS(s) (GEMDOS(9) (s))
- #define FGETDTA() (GEMDOS(0x2f) ())
- #define CCONOUT(a) (GEMDOS(2) (a))
- #define TGETDATE() (GEMDOS(0x2a) ())
- #define TGETTIME() (GEMDOS(0x2c) ())
- #define PTERMRES(a,b) (GEMDOS(0x31) (a,b))
- #define MALLOC(a) (GEMDOS(0x48) (a))
- #define FSELECT(a,b,c,d) (GEMDOS(0x11d) (a,b,c,d))
- #define DCNTL(a,b,c) (GEMDOS(0x130) (a,b,c))
- #define PGETPID() (GEMDOS(0x10b) ())
- #define PGETPPID() (GEMDOS(0x10c) ())
- #define PGETPGRP() (GEMDOS(0x10d) ())
- #define PGETUID() (GEMDOS(0x10f) ())
- #define PGETGID() (GEMDOS(0x114) ())
- #define PGETEUID() (GEMDOS(0x138) ())
- #define PGETEGID() (GEMDOS(0x139) ())
-
- /* Kernel entry points */
-
- /* media change vector */
- #define drvchng (*kernel->drvchng)
-
- /* Debugging stuff */
- #define TRACE(x) (*kernel->trace) x
- #define DEBUG(x) (*kernel->debug) x
- #define ALERT(x) (*kernel->alert) x
- #define FATAL(x) (*kernel->fatal) x
-
- /* memory allocation functions */
- #define kmalloc (*kernel->kmalloc)
- #define kfree (*kernel->kfree)
- #define umalloc (*kernel->umalloc)
- #define ufree (*kernel->ufree)
-
- /* utility functions for string manipulation */
- #define strnicmp (*kernel->strnicmp)
- #define stricmp (*kernel->stricmp)
- #define strlwr (*kernel->strlwr)
- #define strupr (*kernel->strupr)
- #define sprintf (*kernel->sprintf)
-
- /* utility functions for manipulating time */
- #define millis_time (*kernel->millis_time)
- #define unixtim (*kernel->unixtim)
- #define dostim (*kernel->dostim)
-
- /* utility functions for dealing with pauses */
- #define nap (*kernel->nap)
- #define sleep (*kernel->sleep)
- #define wake (*kernel->wake)
- #define wakeselect (*kernel->wakeselect)
-
- /* file system utility functions */
- #define denyshare (*kernel->denyshare)
- #define denylock (*kernel->denylock)
-
- /* functions for adding/cancelling timeouts */
- #define addtimeout (*kernel->addtimeout)
- #define canceltimeout (*kernel->canceltimeout)
-
- /* Some useful kernel defines */
- #define CURPROC_Q 0
- #define READY_Q 1
- #define WAIT_Q 2
- #define IO_Q 3
- #define ZOMBIE_Q 4
- #define TSR_Q 5
- #define STOP_Q 6
- #define SELECT_Q 7
-
- #endif /* _kernel_h */
-